import {QueryPage} from "@/api/common/type.ts";

// 用于报价单的新增，修改
export interface Quotation {
    id: number | undefined;  // 报价单ID
    parentId: number| undefined;  // 父报价单ID（如果有的话）
    name: string | undefined;  // 名称
    specification: string | undefined;  // 规格
    material: string | undefined;  // 材质
    width: number | undefined;  // 宽度
    height: number | undefined;  // 高度
    quantity: number | undefined;  // 数量
    unit: string | undefined;  // 单位，如"个"、"米"、"箱"等
    color: string | undefined;  // 颜色
    colorPrice: number | undefined;  // 颜色价格
    remark: string | undefined;  // 备注
    unitPrice: number | undefined;  // 含税单价
    unitWeight: number | undefined;  // 单重
    kgPrice: number | undefined;  // 公斤价
    totalPrice: number | undefined;  // 总价
    totalWeight: number | undefined;  // 总重
    projectId: number | undefined;  // 项目id
    projectName: string | undefined;  // 项目名称
    materialModel: string | undefined;  // 物料型号

    packingPrice: number | undefined;  // 包装费
    transportationPrice: number | undefined;  // 运输费
    implementationPrice: number | undefined;  // 实施费
    otherPrice: number | undefined;  // 其他费用
    packingPriceCoefficient: number | undefined;  // 包装费系数
    remark1: string | undefined;  // 备注一
    remark2: string | undefined;  // 备注二
    remark3: string | undefined;  // 备注三
    fastenerType: string | undefined;  // 紧固件@材质需求
    activate: number | undefined;  // 是否激活 1-生效 0-失效
    detailMap: string | undefined;  // 费用详情数据(JSON字符串)
    map: { [key: string]: any } | undefined;  // 解析后的费用详情数据
    children:any[];  // 子报价单列表
    createTime?: string | undefined;  // 创建时间
    updateTime?: string | undefined;  // 更新时间
    createId?: number | undefined;    // 创建人ID
    createName?: string | undefined;  // 创建人姓名
    updateId?: number | undefined;    // 更新人ID
    updateName?: string | undefined;  // 更新人姓名
}




// 修改报价单的状态
export interface QuotationUpdateStatus {
    id: number | undefined;  // 报价单ID
    activate: number | undefined;  // 状态 1-生效 0-失效
}


// 分摊
export interface QuotationShare {
    ids: number[];  // 报价单ID
    type: number | undefined;  // 分摊类型
    price: number | undefined;  // 分摊金额

}

// 分页查询报价单信息列表请求
export interface QuotationListParam extends QueryPage{
    projectId:number | undefined,  // 项目id
    activate: number | undefined;  // 状态 1-生效 0-失效
    name: string | undefined;  // 名称
    specification: string | undefined;  // 规格
}

// 自定义导出字段信息
export interface ExportFieldInfo {
    fieldName: string;
    displayName: string;
}

// 自定义导出请求
export interface ExportRequest {
    fields: string[];
    searchParam: QuotationListParam;
}

// 打印报价单实体
export interface QuotationPrintl {
    customerName?: string;  // 客户名称
    customerPerson?: string;  // 客户联系人
    customerPhone?: string;  // 客户联系方式
    customerAddress?: string;  // 客户地址
    customerFax?: string;  // 客户传真
    customerEmail?: string;  // 客户邮箱

    name?: string;  // 业务员名称
    person?: string;  // 联系人
    pPhone?: string;  // 联系方式
    address?: string;  // 地址
    fax?: string;  // 传真
    email?: string;  // 邮箱

    children?: QuotationDetailVo[];  // 子报价单列表
}

// 打印报价单详情实体
export interface QuotationDetailVo {
    id?: number;  // 报价单ID
    name?: string;  // 名称
    specification?: string;  // 规格
    material?: string;  // 材质
    width?: number;  // 宽度
    height?: number;  // 高度
    quantity?: number;  // 数量
    unit?: string;  // 单位
    color?: string;  // 颜色
    remark?: string;  // 备注
    unitPrice?: number;  // 含税单价
    totalPrice?: number;  // 总价
}
